package com.yuan.hospital.common.exception;

import com.yuan.hospital.common.result.ResultCodeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 自定义全局异常
 * @Author yuan
 * @Date 2021/7/12 16:38
*/
@Data
@ApiModel(value = "自定义全局异常类")
public class EduException extends RuntimeException {
    @ApiModelProperty(value = "异常状态码")
    private Integer code;

    /**
     * 通过状态码和错误消息创建异常对象
     * @param code
     * @param message
     */
    public EduException(Integer code,String message){
        super(message);
        this.code=code;
    }
    /**
     * 接收枚举类型对象
     * @param resultCodeEnum
     */
    public EduException(ResultCodeEnum resultCodeEnum){
        super(resultCodeEnum.getMessage());
        this.code=resultCodeEnum.getCode();
    }
    @Override
    public String toString(){
        return "EduException{" +
                "code=" + code +
                ", message=" + this.getMessage() +
                '}';
    }

}
